ISSUE-171: Dash as Marker for Unordered List ¶
1 Status ¶
| Date | Status | |
|---|---|---|
| 17-05-2026 | Proposed | |
| 17-05-2026 | Accepted | |
| ▶ | 17-05-2026 | Implemented |
2 Context ¶
Initially the only "*" markers were implemented in the Almirah Ruby gem for bullet lists (unordered lilsts). However Markdown format allows to use both "*" and "-" fur such purpose.
3 Decision ¶
It would be good to add the support of "-" along as "*".
4 Scope ¶
| Item | Status | Start Date | Target Date | Description |
|---|---|---|---|---|
| Requirements | Done | 17-05-2026 | 17-05-2026 | SRS-017 updated to allow "*" or "-" as the item marker |
| Code | Done | 17-05-2026 | 17-05-2026 | Dash support added in doc_parser.rb and markdown_list.rb |
| Tests | Done | 17-05-2026 | 17-05-2026 | Five new unit tests in doc_parser_spec.rb; <REQ> traces added for SRS-017, SRS-019, SRS-024 |
5 Out of Scope ¶
6 Consequences ¶
6.1 Positive ¶
- Existing ADR-170 will be parsed correctly.
- In most of the cases I see the "-" instead of "*" in bullet lists, so there will be less rework efforts.
6.2 Negative ¶
6.3 Neutral ¶
- The unordered-list continuation regex was anchored to start-of-line and tightened to require whitespace after the marker. This is stricter than the previous regex for "*" as well, and closes a latent edge case where mid-paragraph "*" could be read as a list continuation.
7 Alternatives Considered ¶
No alternatives were considered
8 Proposed Changes ¶
- Broaden the unordered-list entry-point regex in the document parser to match either
*or-followed by a space. - Update the
MarkdownList.unordered_list_item?class method so list continuation lines starting with-are recognised. - Extend the marker state in
MarkdownList#calculate_text_positionto treat-as a list-item marker alongside*. - Add unit tests for
-as a top-level marker, for mixed*/-nested lists, and for-items with bold/italic formatting. - Update the SRS-017 example to show that both
*and-are valid unordered-list markers. - Verify ADR-170 renders correctly after the change (it already uses
-for its Positive / Negative / Neutral bullets).
9 Software Versions ¶
| Software Version Category | Software Version ID |
|---|---|
| Latest Released Version | 0.3.1 |
| Issue Found in Version | 0.3.1 |
| Target Release Version | 0.4.0 |